//有哪些城市
const geoCoordMap = {
  上海: [121.4648, 31.2891],
  东莞: [113.8953, 22.901],
  东营: [118.7073, 37.5513],
  中山: [113.4229, 22.478],
  临汾: [111.4783, 36.1615],
  临沂: [118.3118, 35.2936],
  丹东: [124.541, 40.4242],
  丽水: [119.5642, 28.1854],
  乌鲁木齐: [87.9236, 43.5883],
  佛山: [112.8955, 23.1097],
  保定: [115.0488, 39.0948],
  兰州: [103.5901, 36.3043],
  包头: [110.3467, 41.4899],
  北京: [116.4551, 40.2539],
  北海: [109.314, 21.6211],
  南京: [118.8062, 31.9208],
  南宁: [108.479, 23.1152],
  南昌: [116.0046, 28.6633],
  南通: [121.1023, 32.1625],
  厦门: [118.1689, 24.6478],
  台州: [121.1353, 28.6688],
  合肥: [117.29, 32.0581],
  呼和浩特: [111.4124, 40.4901],
  咸阳: [108.4131, 34.8706],
  哈尔滨: [127.9688, 45.368],
  唐山: [118.4766, 39.6826],
  嘉兴: [120.9155, 30.6354],
  大同: [113.7854, 39.8035],
  大连: [122.2229, 39.4409],
  天津: [117.4219, 39.4189],
  太原: [112.3352, 37.9413],
  威海: [121.9482, 37.1393],
  宁波: [121.5967, 29.6466],
  宝鸡: [107.1826, 34.3433],
  宿迁: [118.5535, 33.7775],
  常州: [119.4543, 31.5582],
  广州: [113.5107, 23.2196],
  廊坊: [116.521, 39.0509],
  延安: [109.1052, 36.4252],
  张家口: [115.1477, 40.8527],
  徐州: [117.5208, 34.3268],
  德州: [116.6858, 37.2107],
  惠州: [114.6204, 23.1647],
  成都: [103.9526, 30.7617],
  扬州: [119.4653, 32.8162],
  承德: [117.5757, 41.4075],
  拉萨: [91.1865, 30.1465],
  无锡: [120.3442, 31.5527],
  日照: [119.2786, 35.5023],
  昆明: [102.9199, 25.4663],
  杭州: [119.5313, 29.8773],
  枣庄: [117.323, 34.8926],
  柳州: [109.3799, 24.9774],
  株洲: [113.5327, 27.0319],
  武汉: [114.3896, 30.6628],
  汕头: [117.1692, 23.3405],
  江门: [112.6318, 22.1484],
  沈阳: [123.1238, 42.1216],
  沧州: [116.8286, 38.2104],
  河源: [114.917, 23.9722],
  泉州: [118.3228, 25.1147],
  泰安: [117.0264, 36.0516],
  泰州: [120.0586, 32.5525],
  济南: [117.1582, 36.8701],
  济宁: [116.8286, 35.3375],
  海口: [110.3893, 19.8516],
  淄博: [118.0371, 36.6064],
  淮安: [118.927, 33.4039],
  深圳: [114.5435, 22.5439],
  清远: [112.9175, 24.3292],
  温州: [120.498, 27.8119],
  渭南: [109.7864, 35.0299],
  湖州: [119.8608, 30.7782],
  湘潭: [112.5439, 27.7075],
  滨州: [117.8174, 37.4963],
  潍坊: [119.0918, 36.524],
  烟台: [120.7397, 37.5128],
  玉溪: [101.9312, 23.8898],
  珠海: [113.7305, 22.1155],
  盐城: [120.2234, 33.5577],
  盘锦: [121.9482, 41.0449],
  石家庄: [114.4995, 38.1006],
  福州: [119.4543, 25.9222],
  秦皇岛: [119.2126, 40.0232],
  绍兴: [120.564, 29.7565],
  聊城: [115.9167, 36.4032],
  肇庆: [112.1265, 23.5822],
  舟山: [122.2559, 30.2234],
  苏州: [120.6519, 31.3989],
  莱芜: [117.6526, 36.2714],
  菏泽: [115.6201, 35.2057],
  营口: [122.4316, 40.4297],
  葫芦岛: [120.1575, 40.578],
  衡水: [115.8838, 37.7161],
  衢州: [118.6853, 28.8666],
  西宁: [101.4038, 36.8207],
  西安: [109.1162, 34.2004],
  贵阳: [106.6992, 26.7682],
  连云港: [119.1248, 34.552],
  邢台: [114.8071, 37.2821],
  邯郸: [114.4775, 36.535],
  郑州: [113.4668, 34.6234],
  鄂尔多斯: [108.9734, 39.2487],
  重庆: [107.7539, 30.1904],
  金华: [120.0037, 29.1028],
  铜川: [109.0393, 35.1947],
  银川: [106.3586, 38.1775],
  镇江: [119.4763, 31.9702],
  长春: [125.8154, 44.2584],
  长沙: [113.0823, 28.2568],
  长治: [112.8625, 36.4746],
  阳泉: [113.4778, 38.0951],
  青岛: [120.4651, 36.3373],
  韶关: [113.7964, 24.7028],
};

const getProductApi = (app) => {
  //第一个图表
  app.get("/produceStatus", (req, res) => {
    res.json({
      code: 200,
      msg: "成功",
      data: [
        {
          name: "plan",
          total: 473,
          finish: 473,
        },
        {
          name: "getOrder",
          total: 456,
          finish: 232,
        },
        {
          name: "produce",
          total: 473,
          finish: 161,
        },
      ],
    });
  });
  //获取计划相关数据
  app.get("/planData", (req, res) => {
    res.json({
      code: 200,
      msg: "成功",
      data: [
        {
          month: "1月",
          target: 800,
          finish: 200,
        },
        {
          month: "2月",
          target: 380,
          finish: 310,
        },
        {
          month: "3月",
          target: 950,
          finish: 150,
        },
        {
          month: "4月",
          target: 820,
          finish: 400,
        },
        {
          month: "5月",
          target: 900,
          finish: 100,
        },
        {
          month: "6月",
          target: 800,
          finish: 252,
        },
        {
          month: "7月",
          target: 300,
          finish: 350,
        },
        {
          month: "8月",
          target: 800,
          finish: 100,
        },
        {
          month: "9月",
          target: 900,
          finish: 320,
        },
        {
          month: "10月",
          target: 955,
          finish: 234,
        },
        {
          month: "11月",
          target: 920,
          finish: 720,
        },
        {
          month: "12月",
          target: 680,
          finish: 280,
        },
      ],
    });
  });
  //获取地图相关数据
  app.get("/mapData", (req, res) => {
    //随机生成每个城市的生产数额
    const mapData = [];
    for (key in geoCoordMap) {
      var position = geoCoordMap[key];
      mapData.push({
        name: key,
        position: position,
        value: (Math.random() * 1000).toFixed(2),
      });
    }
    res.json({
      code: 200,
      msg: "成功",
      data: mapData,
    });
  });
  //获取质量相关数据
  app.get("/qualityData", (req, res) => {
    res.json({
      code: 200,
      msg: "成功",
      data: [
        {
          month: "1月",
          good: 120,
          bad: 100,
        },
        {
          month: "2月",
          good: 80,
          bad: 42,
        },
        {
          month: "3月",
          good: 110,
          bad: 120,
        },
        {
          month: "4月",
          good: 130,
          bad: 100,
        },
        {
          month: "5月",
          good: 150,
          bad: 144,
        },
        {
          month: "6月",
          good: 140,
          bad: 146,
        },
        {
          month: "7月",
          good: 200,
          bad: 45,
        },
        {
          month: "8月",
          good: 220,
          bad: 95,
        },
        {
          month: "9月",
          good: 100,
          bad: 58,
        },
        {
          month: "10月",
          good: 120,
          bad: 90,
        },
        {
          month: "11月",
          good: 130,
          bad: 70,
        },
        {
          month: "12月",
          good: 150,
          bad: 120,
        },
      ],
    });
  });

  //获取车辆类型销售数据
  app.get("/carSaleData", (req, res) => {
    res.json({
      code: 200,
      msg: "成功",
      data: [
        {
          carType: "卡车",
          value: 329,
          children: [
            {
              name: "卡车1号",
              value: 129,
            },
            {
              name: "卡车2号",
              value: 80,
            },
            {
              name: "卡车3号",
              value: 75,
            },
            {
              name: "卡车4号",
              value: 45,
            },
          ],
        },
        {
          carType: "轿车",
          value: 224,
          children: [
            {
              name: "轿车1号",
              value: 139,
            },
            {
              name: "轿车2号",
              value: 85,
            },
          ],
        },
        {
          carType: "suv",
          value: 468,
          children: [
            {
              name: "suv1号",
              value: 224,
            },
            {
              name: "suv2号",
              value: 44,
            },
            {
              name: "suv3号",
              value: 200,
            },
          ],
        },
      ],
    });
  });
  //获取客服投诉数据
  app.get("/complainData", (req, res) => {
    res.json({
      code: 200,
      msg: "成功",
      data: {
        date: "11月",
        list: [
          {
            type: "已处理",
            product: 49,
            logistics: 48,
            afterSales: 32,
          },
          {
            type: "处理中",
            product: 32,
            logistics: 21,
            afterSales: 11,
          },
          {
            type: "未处理",
            product: 42,
            logistics: 11,
            afterSales: 2,
          },
        ],
      },
    });
  });
  //获取重大业务
  app.get("/majorData", (req, res) => {
    res.json({
      code: 200,
      msg: "成功",
      data: [
        {
          name: "业务1",
          processState: [
            {
              stepName: "项目投标",
              finishPercent: 70,
            },
            {
              stepName: "投标进度",
              finishPercent: 0,
            },
            {
              stepName: "项目进行",
              finishPercent: 0,
            },
            {
              stepName: "项目交付",
              finishPercent: 0,
            },
          ],
        },
        {
          name: "业务2",
          processState: [
            {
              stepName: "项目投标",
              finishPercent: 100,
            },
            {
              stepName: "投标进度",
              finishPercent: 42,
            },
            {
              stepName: "项目进行",
              finishPercent: 0,
            },
            {
              stepName: "项目交付",
              finishPercent: 0,
            },
          ],
        },
        {
          name: "业务3",
          processState: [
            {
              stepName: "项目投标",
              finishPercent: 100,
            },
            {
              stepName: "投标进度",
              finishPercent: 100,
            },
            {
              stepName: "项目进行",
              finishPercent: 72,
            },
            {
              stepName: "项目交付",
              finishPercent: 0,
            },
          ],
        },
        {
          name: "业务4",
          processState: [
            {
              stepName: "项目投标",
              finishPercent: 100,
            },
            {
              stepName: "投标进度",
              finishPercent: 100,
            },
            {
              stepName: "项目进行",
              finishPercent: 100,
            },
            {
              stepName: "项目交付",
              finishPercent: 100,
            },
          ],
        },
      ],
    });
  });
  //获取产品示意图
  app.get("/produceLine", (req, res) => {
    res.json({
      code: 200,
      msg: "成功",
      data: [],
    });
  });
};

module.exports = getProductApi